Dynamic programming optimization
When dynamic programming is used to solve an optimization problem, often it is possible to speed up the algorithm by only looking at configurations that could possibly lead to an optimal solution, or in some way looking up the best configuration quickly.
General techniques
Here we list some of the most general techniques.
Convex hull trick
Divide and conquer optimization
See Divide and conquer optimization